package com.naiterui.ehp.ps.sms.vo;

import java.io.Serializable;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 签名信息实体类
 *
 * @author
 * @since 1.0.0
 */
public class SignatureVO implements Serializable {
    /**
     * 序列ID：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 6941037541186890607L;

    private Integer id;

    private String title; // 签名标题(辨识用无逻辑意义)

    private String name;     // 签名

    private String channelNumber; // 短信通道号(华为平台，不同类型签名对应不同通道号)

    private String montnetBusinessId;     // 梦网业务标识

    private String cloopenTemplateId;     // 容联通用模版id


    private Byte isDefault;     // 是否默认模版

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMontnetBusinessId() {
        return montnetBusinessId;
    }

    public void setMontnetBusinessId(String montnetBusinessId) {
        this.montnetBusinessId = montnetBusinessId;
    }

    public String getCloopenTemplateId() {
        return cloopenTemplateId;
    }

    public void setCloopenTemplateId(String cloopenTemplateId) {
        this.cloopenTemplateId = cloopenTemplateId;
    }

    public Byte getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(Byte isDefault) {
        this.isDefault = isDefault;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getChannelNumber() {
        return channelNumber;
    }

    public void setChannelNumber(String channelNumber) {
        this.channelNumber = channelNumber;
    }

    public static long getSerialversionuid() {
        return serialVersionUID;
    }


    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((cloopenTemplateId == null) ? 0 : cloopenTemplateId.hashCode());
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        result = prime * result + ((isDefault == null) ? 0 : isDefault.hashCode());
        result = prime * result + ((montnetBusinessId == null) ? 0 : montnetBusinessId.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (this.getClass() != obj.getClass()) {
            return false;
        }
        SignatureVO other = (SignatureVO) obj;
        if (cloopenTemplateId == null) {
            if (other.cloopenTemplateId != null) {
                return false;
            }
        } else if (!cloopenTemplateId.equals(other.cloopenTemplateId)) {
            return false;
        }
        if (id == null) {
            if (other.id != null) {
                return false;
            }
        } else if (!id.equals(other.id)) {
            return false;
        }
        if (isDefault == null) {
            if (other.isDefault != null) {
                return false;
            }
        } else if (!isDefault.equals(other.isDefault)) {
            return false;
        }
        if (montnetBusinessId == null) {
            if (other.montnetBusinessId != null) {
                return false;
            }
        } else if (!montnetBusinessId.equals(other.montnetBusinessId)) {
            return false;
        }
        if (name == null) {
            if (other.name != null) {
                return false;
            }
        } else if (!name.equals(other.name)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
